const keyCodeUtils = {
  keyCodes: {
    a: 65,
    A: 65,
    b: 66,
    B: 66,
    c: 67,
    C: 67,
    d: 68,
    D: 68,
    e: 69,
    E: 69,
    f: 70,
    F: 70,
    g: 71,
    G: 71,
    h: 72,
    H: 72,
    i: 73,
    I: 73,
    j: 74,
    J: 74,
    k: 75,
    K: 75,
    l: 76,
    L: 76,
    m: 77,
    M: 77,
    n: 78,
    N: 78,
    o: 79,
    O: 79,
    p: 80,
    P: 80,
    q: 81,
    Q: 81,
    r: 82,
    R: 82,
    s: 83,
    S: 83,
    t: 84,
    T: 84,
    u: 85,
    U: 85,
    v: 86,
    V: 86,
    w: 87,
    W: 87,
    x: 88,
    X: 88,
    y: 89,
    Y: 89,
    z: 90,
    Z: 90,
    F1: 112,
    F2: 113,
    F3: 114,
    F4: 115,
    F5: 116,
    F6: 117,
    F7: 118,
    F8: 119,
    F9: 120,
    F10: 121,
    F11: 122,
    F12: 123,
    F13: 124,
    F14: 125,
    F15: 126,
    F16: 127,
    F17: 128,
    F18: 129,
    F19: 130,
    F20: 131,
    F21: 132,
    F22: 133,
    F23: 134,
    F24: 135,
    KP_0: 96,
    KP_1: 97,
    KP_2: 98,
    KP_3: 99,
    KP_4: 100,
    KP_5: 101,
    KP_6: 102,
    KP_7: 103,
    KP_8: 104,
    KP_9: 105
  },
  /**
   *
   * @param keyName {string}
   * @return {number}
   */
  getKeyCode(keyName = 'x') {
    const find = Object.keys(this.keyCodes).find(key => key === keyName)
    if (find) {
      keyName = find
    } else {
      keyName = 'x'
    }
    return this.keyCodes[keyName]
  }
}

export default keyCodeUtils
